home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / plan / plan.help < prev    next >
Text File  |  1994-08-01  |  59KB  |  1,451 lines

  1. #
  2. # help pulldown choices
  3. #
  4. %% intro
  5.     INTRODUCTION
  6.  
  7.     This program combines the functions of the various graphical calendar
  8.     tools, and an alarm facility such as calendar(1). In the main window,
  9.     a month calendar is displayed, consisting of 28..31 day boxes. Into
  10.     each of these day boxes, appointments may be entered that trigger on
  11.     that day, at a particular time.
  12.  
  13.     To enter an appointment, click on the daybox the appointment should
  14.     go into. An appointment list popup appears. Click on the top "time"
  15.     button. A date appears next to it, and there is a cursor in the time
  16.     button. Enter a time, such as "11:00", and press Return. Skip the
  17.     length button by pressing Return again. Now the rightmost button
  18.     has a cursor in it; enter a short description of the appointment
  19.     and press Return again. The appointment is now added; you can enter
  20.     another one or press Done to exit the menu. The appointment has now
  21.     appeared in the day box of the month calendar.
  22.  
  23.     An alternative way of entering appointments is the year calendar. It
  24.     is accessible from the Year pulldown menu of the main month calendar.
  25.     Its day boxes work exactly like those of the month calendar. Finally,
  26.     the week view allows editing appointments by double-clicking them.
  27.  
  28.     In addition to simply adding an appointment by date, time, and note,
  29.     various options such as repetitive appointments, advance warnings,
  30.     message texts, automatic execution of shell scripts etc. are available
  31.     in the appointment list menus.
  32.  
  33.     Appointments can also be entered from the command line, using a
  34.     command like
  35.  
  36.          plan 1015 wake up and go home
  37.  
  38.     The date and time is in date(1) format, [mmdd]hhmm.
  39.  
  40.     When plan started up, it may have complained that no daemon is running,
  41.     and offered to start one. The daemon is a separate program that waits
  42.     for appointments to trigger, and takes appropriate action when one
  43.     does. This means that without the daemon, no alarm will ever trigger.
  44.     It also means that this interactive program does not have to run for
  45.     alarm triggers, only the daemon always exists.
  46. %% help
  47.     GETTING HELP
  48.  
  49.     To get general help on a popup menu, press the Help button in that
  50.     popup menu.
  51.  
  52.     To get help on a pulldown menu in the main month calendar window,
  53.     install the pulldown menu by pressing and releasing the left mouse
  54.     button on the menubar button, then press the HELP or F1 keyboard key.
  55.  
  56.     Help on most buttons is available by choosing "On Context" in the Help
  57.     pulldown, and then pressing on a button or calendar. Every help window
  58.     contains a Context button that does the same thing as "On Context".
  59.  
  60.     Normally, the Help or F1 keyboard keys are not very helpful, because
  61.     many of the interesting items either have no shadow (so you don't
  62.     know which tab group member has focus), or are drawn using Xlib.
  63. %% trouble
  64.     TROUBLESHOOTING
  65.  
  66.     *  If your screen saver stops working when plan is running, put a
  67.         line "Plan*showIconTime: False" into your ~/.Xdefaults file. If
  68.         plan updates the time in the icon, the screen saver timeout is
  69.         restarted, and never reaches timout because updates happen once
  70.         every minute. Only some X servers exhibit this problem.
  71.  
  72.     *  On SGI systems, if the icon doesn't show a picture, copy the icon
  73.         picture Plan.icon into your ~/.icons directory. If you don't have
  74.         one and don't want one, set the plan*noIcon resource to False in
  75.         your ~/.Xdefaults file. It may be necessary to restart 4Dwm to
  76.         register the icon after copying it to ~/.icons.
  77.  
  78.     *  If starting plan prints cpp errors to stderr (or pops up an error
  79.         dialog on SGIs if desktop error reporting is turned on), change
  80.         all '#' characters in your ~/.holiday to ':'. The comment
  81.         introducer was changed in version 1.3 to allow #include statements.
  82.  
  83.     *  If the main menu shows an incorrect time above the month calendar,
  84.         and alarms trigger an hour early or late, plan might have an
  85.         incorrect idea of your timezone and Daylight Saving Time status.
  86.         To correct this, choose "Adjust Time" from the Config pulldown,
  87.         and change the defaults.
  88.  
  89.     *  On some BSD-based systems, it takes a while for appointment
  90.         changes to propagate to the daemon. The result is that alarms that
  91.         trigger a few minutes after they were added or edited are ignored.
  92.         This is normal on these systems. However, if alarms don't trigger
  93.         at all, use the ps command (see man ps) to make sure that pland is
  94.         running, and verify that its process ID agrees with the number in
  95.         /tmp/.plandUID (with UID being your numerical user ID). Also, plan
  96.         may get out of sync if you start more than one, and answer Continue
  97.         in the warning dialog.
  98.  
  99.     *  Previous versions of plan contained a recommendation to put "killall
  100.         pland" into your .logout file. Don't do this, it kills the daemon
  101.         whenever you delete a window, and no more alarms will trigger.
  102.  
  103.     *  The plan program uses quite a few colormap entries. Although there
  104.         is a black&white fallback mode, you may have problems starting other
  105.         programs that also need many colormap entries. The only workaround
  106.         is to kill plan when you don't need it; alarms will trigger anyway.
  107.  
  108.     *  If radio and toggle buttons appear gray regardless of the colToggle
  109.         and colRed resources, make sure that the sgiMode resource is False.
  110.         In SGI desktop mode, colToggle and colRed are disabled because they
  111.         would override the desktop defaults. The sgiMode resource is True
  112.         only if plan was compiled with "make sgi5", add "plan*sgiMode: False"
  113.         to your ~/.Xdefaults file in this case, or recompile with "make sgi4".
  114.  
  115.     If you have problems you can't resolve, or if you have suggestions
  116.     for new features, or porting instructions for new platforms, send mail
  117.     to me at thomas@bitrot.in-berlin.de. Note that the plan version on the
  118.     SGI Developer's Toolbox CD supports only SGI systems. If you mail, do
  119.     not forget to include your version number as reported by "plan -v".
  120. %% files
  121.     FILES AND PROGRAMS
  122.  
  123.     The calendar program is distributed as three programs and two data
  124.     files: plan, pland, notifier, plan.help, and plan_cal.ps. Plan
  125.     should be installed in the directory given as DIR in the Makefile,
  126.     by default /usr/local/bin, and the others in the directory given as
  127.     LIB, also /usr/local/bin by default. The distribution also contains
  128.     .holiday files for various countries.
  129.  
  130.     "plan" is the main interactive calendar program that you are using at
  131.     the moment. It is used to view calendars and to enter appointments
  132.     at specified dates and times, with various optional parameters. It
  133.     depends on the plan.help file, and writes all configuration parameters
  134.     and appointments to two files ".dayplan" and ".dayplan.priv" in the
  135.     user's home directory. It signals the daemon (SIGHUP) when that file
  136.     changes, to force the daemon to re-read it.
  137.  
  138.     "pland" is the daemon. Its purpose is to watch alarms and warnings,
  139.     and to perform the appropriate action if one triggers. The "plan"
  140.     program need not run to trigger an alarm. "pland" is a very small
  141.     program with no X code, to avoid excessive system load. It reads the
  142.     ~/.dayplan* databases, but never writes to them. pland is normally
  143.     started by the user's .xsession or .sgisession file.
  144.  
  145.     "notifier" displays an ascii text in a color-coded window. It is a
  146.     separate program to keep "pland" small. It handles snoozing all by
  147.     itself.
  148.  
  149.     "plan.help" contains all the help messages.
  150.  
  151.     "plan_cal.ps" is a PostScript skeleton containing PostScript code
  152.     used by plan when printing calendars. This file can be used to change
  153.     the defaults for margins and fonts; future versions may use popup
  154.     menus for this task. Always keep the original version when editing it.
  155.  
  156.     "Plan.icon" is an SGI RGB picture file that should be copied to the
  157.     ~/.icons directory. On SGIs, the noIcon resource is set to True by
  158.     default to make 4Dwm use the full-color picture. It may be necessary
  159.     to restart 4Dwm to register the icon.
  160.  
  161.     In the user's home directory, there are three files. ".dayplan" contains
  162.     the public appointments (the ones without the padlock icon in the
  163.     appointment list menu, which can be displayed in other users' week
  164.     views). ".dayplan.priv" contains the private appointments (the ones
  165.     with a padlock, which cannot be accessed by other users). ".holiday"
  166.     contains a description of public holidays and vacations as specified
  167.     with the Define Holidays popup in the Config pulldown. For a description
  168.     of the .dayplan* format, see the plan(4) manpage.
  169.  
  170.     If the LIB directory (specified in the Makefile) contains a file
  171.     "holiday", it is read after ".holiday" to add system-wide holidays to
  172.     the user's holiday list.
  173.  
  174.     Both plan and pland use the environment variables $PATH, $PLAN_PATH, a
  175.     built-in default path, and the directories DIR and LIB specified in the
  176.     Makefile for locating programs and plan.help.
  177. %% widgets
  178.     WIDGETS AND RESOURCES
  179.  
  180.     plan uses the following environment variables:
  181.  
  182.        PLAN_TZ provides defaults for the timezone and Daylight Saving Time.
  183.        TZ provides the defaults if PLAN_TZ is not set.
  184.        LOGNAME provides your user name for the default mailer command.
  185.        USER provides your user name if LOGNAME is undefined.
  186.        user provides your user name if LOGNAME and USER are both undefined.
  187.        HOME is your home directory, for locating .dayplan* and .holiday.
  188.        PLAN_PATH and PATH are colon-separated search paths for finding
  189.           programs. First, BIN and LIB from the Makefile are searched, then
  190.           PLAN_PATH, then PATH, and finally a built-in default search path.
  191.           Note that the latter contains the current directory.
  192.  
  193.     To get a list of default X resources of the "plan" program, run it with
  194.     the -d option. The output can be directly appended to the .Xdefaults
  195.     file in your home directory or saved into a file "Plan" in your
  196.     app-defaults directory. If you install a system wide app-default file
  197.     make sure that lines do not start with "plan"; otherwise users might
  198.     not be able to override the setup. Omit the application name or use
  199.     the application class name "Plan". The "notifier" program also supports
  200.     a -d option.
  201.  
  202.     For example, for a much smaller month calendar, append these lines
  203.     to your ~/.Xdefaults file or modify your app-defaults file:
  204.  
  205.           Plan*colGrid: #909090
  206.           Plan*menubar*fontList: -*-helvetica-bold-*-normal-*-14-*
  207.           Plan*fontList: -*-*-medium-r-*-*-14-*
  208.           Plan*calNumberFont: -*-helvetica-*-r-*-*-14-*
  209.           Plan*calBoxWidth: 40
  210.           Plan*calBoxHeight: 34
  211.           Plan*calBoxMargin: 10
  212.           Plan*calBoxTitle: 15
  213.  
  214.     The resources of "notifier" can be set similarly. Its application class
  215.     name is "Notifier". Here are plan's main resources, listed by view, in
  216.     the order geometry, fonts, and colors:
  217.  
  218.  
  219.     GLOBAL RESOURCES
  220.  
  221.         noIcon: don't draw anything into the icon. This should be used on
  222.         SGI systems so that 4Dwm uses the color picture as an icon.
  223.         The color icon should be moved to ~/.icons/Plan.icon .
  224.         showIconTime: if true, show the current time in the icon title. For
  225.         some reason, this may prevent the screen saver from kicking in.
  226.         frameToday: put a black frame into today's day box in the month
  227.         view. This is useful on 1-bit black and white systems.
  228.         sgiMode: for SGI systems running IRIX 5.2 only. Switches plan to
  229.         the SGI desktop style if True. colToggle and colRed are ignored
  230.         in this mode. sgiMode is True by default if plan was compiled
  231.         with "make sgi5". sgiMode is far superior to classic Motif. You
  232.         may also set `useSchemes' to True, and set `scheme' to Lascaux.
  233.         When using schemes, many color and font resources are ignored.
  234.  
  235.         menubar*fontList: font for menubar and pulldowns
  236.         fontList: default font for buttons and titles
  237.         helpFont: font used in help popups
  238.         background: standard window background color
  239.         colStd: standard foreground color for button labels etc
  240.         colBack: standard background color
  241.         colTextBack: all inset text entry buttons use this color, pink by default
  242.         colToggle: most toggle buttons use this color when the toggle is on
  243.         colRed: the pin toggle in appointment edit popups uses this color when on
  244.  
  245.  
  246.     MONTH VIEW RESOURCES
  247.  
  248.         calBoxWidth: width of one day box
  249.         calBoxHeight: height of one day box, determines number of note lines
  250.         calBoxMargin: margin size at the edges of the inset calendar
  251.         calArrowWidth: width of the week popup arrows at the left edge
  252.         calBoxTitle: height of the title area with the weekday names
  253.  
  254.         calNumberFont: large font used for day numbers, twice as large as note font
  255.         calNoteFont: very small and narrow font for notes
  256.  
  257.         frameToday: put black frame in today's day box. Useful for 1-bit screens.
  258.  
  259.         colCalBack: standard white month background color
  260.         colCalShade: boxes with days in them use this background color
  261.         colCalAct: the yellow daybox color used when a appointment entry menu is up
  262.         colCalToday: today's daybox uses this color, green by default
  263.         colCalFrame: color of the thin frame that surrounds the grid
  264.         colGrid: color of the grid that surrounds the day boxes
  265.         colWeekday: color of weekday day numbers, black
  266.         colWeekend: color of weekend day numbers, dark red
  267.         colNote: color of note texts, something not too dark that doesn't stand out
  268.         colNoteOff: this color is used for suspended notes, much lighter
  269.  
  270.         colHolidayBlack: color used when "black" is used in the holiday definition
  271.         colHolidayRed: color used when "red" is used in the holiday definition
  272.         colHolidayGreen: color used when "green" is used in the holiday definition
  273.         colHolidayYellow: color used when "yellow" is used in the holiday definition
  274.         colHolidayBlue: color used when "blue" is used in the holiday definition
  275.         colHolidayMagenta: color used when "magenta" is used in the holiday definition
  276.         colHolidayCyan: color used when "cyan" is used in the holiday definition
  277.         colHolidayWhite: color used when "white" is used in the holiday definition
  278.  
  279.  
  280.     YEAR VIEW RESOURCES
  281.  
  282.         yearMargin: size of margin around the entire year
  283.         yearGap: size of gap between months
  284.         yearTitle: height of space reserved for year number at the top
  285.         yearBoxWidth: width of one day box
  286.         yearBoxHeight: height of one day box
  287.  
  288.         colYearBack: background color of the entire year area
  289.         colYearBoxBack: background color of month boxes
  290.         colYearNumber: color of day numbers
  291.         colYearWeekday: color of weekday names
  292.         colYearMonth: color of month names
  293.         colYearTitle: color of the year number at the top
  294.         colYearGrid: color of the thin box that surrounds every month
  295.  
  296.         yearTitleFont: large font used for the year number at the top
  297.         yearMonthFont: medium italics font used for month names
  298.         yearWeekdayFont: small italics font used for weekday names
  299.         yearNumberFont: small font used for day numbers
  300.  
  301.     WEEK VIEW RESOURCES
  302.  
  303.         weekMargin: size of margin around entire week view
  304.         weekGap: height of gap between days
  305.         weekDayWidth: width of the leftmost column with the weekday names in it
  306.         weekHourWidth: width of one hour column
  307.         weekBarHeight: height of an appointment bar
  308.         weekBarGap: height of gap between appointment bars
  309.         weekMaxNote: appointment note texts longer than this width are clipped
  310.  
  311.         colWeekBack: background color of the entire week view
  312.         colWeekBoxback: shaded background color of the box that represents one day
  313.         colWeekTitle: color of the title at the top
  314.         colWeekGrid: color of the lines that separate hour columns
  315.         colWeekDay: color of the weekday names in the leftmost column
  316.         colWeekNote: color of note texts printed into or next to appointment bars
  317.         colWeekFrame: color of the thin lines around the edges of bars
  318.         colWeekWarn: color of the part of bars that represents advance-warning times
  319.         colWeekUser_0: color of user's own bars, and one of the user colors (blue)
  320.         colWeekUser_1: another color available for other users' bars. These
  321.         ...                 colors are selectable in the User popup.
  322.         colWeekUser_7: the last user color. eight colors total are available
  323.  
  324.         weekTitleFont: font used for the title at the top giving the interval
  325.         weekDayFont: font used for weekday names in the leftmost column
  326.         weekHourFont: font used for hours above the bar chart
  327.         weekNoteFont: small font used for appointment notes inside or next to bars
  328. #
  329. # main window, menu bar and month calendar
  330. #
  331. %% pd_file
  332.     FILE PULLDOWN
  333.  
  334.     Print -- pop up a menu that prints PostScript calendars.
  335.  
  336.     Delete Past Entries -- removes all appointments before today's date.
  337.  
  338.     About -- prints the version number and my email address. Please mail
  339.       bug reports to that address.
  340.  
  341.     Quit -- write data base back to the ~/.dayplan file if it has changed,
  342.       and exit the program. The daemon will continue to run.
  343. %% pd_config
  344.     CONFIG PULLDOWN
  345.  
  346.     All configuration data is saved in the ~/.dayplan file. The date and
  347.     time format is specified with this menu, the program does not use
  348.     X11R5 or Unix locale information.
  349.  
  350.     12 hour mode -- print all times in US am/pm format, rather than in the
  351.       European 24-hour format.
  352.  
  353.     Sunday first -- print Sunday in the first column, as in US calendars,
  354.       rather than in the last column.
  355.  
  356.     Month/Day/Year -- print dates in month/day/year format, rather than
  357.       in day.month.year format.
  358.  
  359.     Julian dates -- print the day number in each month day box, beginning
  360.       with 1 on January 1.
  361.  
  362.     Week number -- print the week number in each leftmost month day box,
  363.       in parentheses. The first complete week in January is week number 1.
  364.  
  365.     Auto delete past entries -- automatically remove all expired
  366.       appointments before today's date.
  367.  
  368.     Don't show today's past -- in today's daybox (shaded green), skip
  369.       all entries that are in the past, and only show the next three
  370.       future entry notes.
  371.  
  372.     Fast warning entry mode -- normally, early and late warnings are
  373.       entered with a popup. Fast warning entry mode replaces the popup call
  374.       button in all list menus with a wide "Warn" column for direct entry.
  375.  
  376.     Adjust time -- define time-of-day corrections, time zone, and Daylight
  377.       Saving Time mode. Use this menu to adjust the time if appointments
  378.       appear early or late.
  379.  
  380.     Alarm options -- pops up a menu that defines the actions taken when
  381.       an appointment triggers. The actions are taken by a daemon and are
  382.       independent of whether the interactive calendar program runs or not.
  383.  
  384.     Define holidays -- pops up a window that allows specification of
  385.       holidays and vacations.
  386.  
  387.     Configure week view -- allows entry of the width of the week view, by
  388.       specifying the hours the week view begins and ends with, and whether
  389.       advance-warning times and user names are displayed in the week view.
  390. %% pd_search
  391.     SEARCH PULLDOWN
  392.  
  393.     Today -- print an appointment menu with today's items.
  394.  
  395.     Tomorrow -- print an appointment menu with tomorrow's items.
  396.  
  397.     This Week -- print an appointment menu with all items of the current
  398.       week.
  399.  
  400.     Next Week -- print an appointment menu with all items of the week
  401.       after the current week.
  402.  
  403.     This Month -- print an appointment menu with all items of the current
  404.       month.
  405.  
  406.     All -- print an appointment menu with all items.
  407.  
  408.     Search Keywords -- print an appointment menu with all items that
  409.       contain the specified string in their note, message, or script fields.
  410. %% pd_view
  411.     VIEW PULLDOWN
  412.  
  413.     Week -- pop up a week view menu for the current week. Week views
  414.       plot appointments as colored bars on a hour/day chart, and can
  415.       also show other users' public appointments.
  416.  
  417.     Small Month -- show the month in a small month menu.
  418.  
  419.     Large Month -- show the month in a large month menu.
  420.  
  421.     Year -- pop up a year view menu for the current year.
  422.  
  423.     Goto today -- switch all views (week, month, and year) such that
  424.       they contain today.
  425.  
  426.     Goto -- popup a date entry menu, then switch all views (week, month,
  427.       and year) such that they contain the entered date.
  428. #
  429. # help popup
  430. #
  431. %% help_done
  432.     DISMISS
  433.  
  434.     Remove the help popup.
  435. #
  436. # month view
  437. #
  438. %% cal_month
  439.     CURRENT MONTH
  440.  
  441.     The month displayed in the month calendar below. It can be incremented
  442.     and decremented to show the next or previous month. The inc/dec arrows
  443.     will wrap to the next or previous year.
  444.  
  445.     The currently displayed month can also be changed by pressing on any
  446.     month name in the year calendar (see Year pulldown).
  447.  
  448.     To return to the current month, choose Goto today in the View pulldown.
  449. %% cal_year
  450.     CURRENT YEAR
  451.  
  452.     The year that the month shown below is in.
  453. %% cal
  454.     MONTH CALENDAR
  455.  
  456.     Displays the current month, as specified by the month and year
  457.     controls above. The format can be changed with the Config pulldown.
  458.     Each day box contains a list of appointments on that day, with time
  459.     and note string.
  460.  
  461.     The note string is grayed out if the appointment is suspended (the
  462.     button to the left of that appointment in the appointment list is
  463.     turned off). The appointment is not shown at all if it begins with
  464.     a '-' or '=' sign.
  465.  
  466.     If there are more appointments than will fit in the box (usually 3),
  467.     only the first three are shown; the "Don't show today's past" option
  468.     in the Options pulldown determines which three. If there are more
  469.     appointments than will fit in the box, three dots are shown in the
  470.     lower right corner of the box.
  471.  
  472.     If there is a full-line holiday on a day, the holiday name will use
  473.     the first line. Appointments that have no time ("-" was entered in
  474.     the day menu) come next, and finally the regular appointments.
  475.  
  476.     Todays's day box is highlighted green, and the last day box opened
  477.     is highlighted yellow. When a day box is opened by pressing down on
  478.     it, a list of all appointments on that day is popped up. Appointments
  479.     are added, changed, and deleted with these list popups.
  480.  
  481.     There is a small triangle to the left of every week row. Pressing one
  482.     of the arrows pops up a week view that displays the week in a hour vs.
  483.     day chart, and allows viewing other users' appointments.
  484. #
  485. # year calendar window
  486. #
  487. %% year
  488.     YEAR CALENDAR
  489.  
  490.     Displays the current year, as specified by the year controls in the
  491.     main month calendar, at the time the year menu was popped up. Later
  492.     changes to the year control will not change the year menu.
  493.  
  494.     The year calendar basically consists of 12 small copies of the month
  495.     calendar. The day boxes work the same way, the current day is green,
  496.     the last opened day is yellow, and pressing on a day box opens it
  497.     and shows the list of appointments on that day. There are also week
  498.     view call triangles to the left of every week row.
  499.  
  500.     Pressing on a month name will switch the month calendar to that month.
  501.  
  502.     The day boxes are too small for appointments and notes; if there is
  503.     at least one appointment on that day (suspended or not), a small
  504.     black square is shown in the day box. Appointments whose note string
  505.     begins with a '-' or '=' sign do not cause a dot to be drawn.
  506. #
  507. # Time adjustment popup
  508. #
  509. %% adj
  510.     ADJUST TIME
  511.  
  512.     This menu serves two purposes. First, it allows to adjust the system
  513.     clock, which on many systems or networks controlled by warring
  514.     timelords may be off by a few minutes. By adding a constant to the
  515.     system time, alarms can be made to trigger accurately.
  516.  
  517.     Second, determining the timezone a system is in is a black art. There
  518.     are various incompatible TZ formats, unavailable or nonstandard
  519.     system calls, and Daylight Saving starting and ending dates that
  520.     have not been specified correctly by the system administrator. This
  521.     menu allows users to specify the regular timezone relative to GMT
  522.     (Greenwich Mean Time, or UTC). In addition, one hour can be added
  523.     while Daylight Saving Time (DST) is in effect.
  524.  
  525.     DST can be either turned on or off manually, or automatically from
  526.     a begin and end day. These days change every year, and can be
  527.     entered with this menu. They are entered as Julian dates (day
  528.     numbers relative to January 1 in the range 1..366). Julian dates
  529.     can be determined with the Julian Dates option in Config.
  530.  
  531.     This menu only affects your plan and its daemon, pland. The system
  532.     clock is not affected, and all programs other than your plan will still
  533.     believe in the official network time. This also includes other users'
  534.     plan programs.
  535. %% adj_time
  536.     ADJUST SYSTEM CLOCK
  537.  
  538.     Enter a system clock correction constant here. For example, if your
  539.     system clock is fast by two minutes and 20 seconds, enter "-0:02:20".
  540.     If your system clock is slow, enter a positive time.
  541.  
  542.     The correction applies only to plan and the plan daemon that waits
  543.     for alarms. The system clock and other programs are not affected.
  544. %% adj_zone
  545.     TIMEZONE
  546.  
  547.     At startup, the timezone is determined automatically. This may give
  548.     incorrect results on some system, especially if the system timezone
  549.     files are not configured properly. With the Timezone field, the
  550.     timezone can be set in hours:minutes relative to Greenwich Mean Time
  551.     (GMT or UTC). To revert to the system defaults, press the Guess
  552.     button.
  553.  
  554.     While Daylight Saving Time is in effect, another hour is added to
  555.     the timezone.
  556. %% adj_dst
  557.     DAYLIGHT SAVING
  558.  
  559.     Many countries switch the time one hour forward in the summer. This
  560.     is normally done automatically by the system, but requires the system
  561.     administrator to change the timezone start and end dates every year.
  562.     If this configuration does not agree with reality, this menu allows
  563.     plan users to override it.
  564.  
  565.     Daylight Saving can either be turned on permanently (in the summer),
  566.     turned off permanently (in the winter, or if your country does not
  567.     have Daylight Saving time), or turned on on a begin date and and end
  568.     date. The begin and end dates must be specifies as Julian dates; use
  569.     Julian Dates in Config to find out the numbers. Press the Guess button
  570.     to return to system defaults.
  571.  
  572.     Daylight Saving is turned on and off at 2:00 in the morning on the
  573.     begin and end days, respectively, unless overridden by system files.
  574.     See "man timezone" for details.
  575. %% adj_guess
  576.     GUESS TIMEZONE AND DST
  577.  
  578.     Use system defaults for the timezone and Daylight Saving begin and
  579.     end dates.
  580. %% adj_done
  581.     DONE
  582.  
  583.     Remove time adjustment menu.
  584. #
  585. # Alarm Options popup
  586. #
  587. %% opt
  588.     ALARM OPTIONS
  589.  
  590.     An appointment can trigger up to three times: at the specified alarm
  591.     time, and at the advance-warning times that can be entered in the
  592.     appointment list menu. For every type of trigger, the action taken
  593.     can be specified with this menu:
  594.  
  595.     1. The green, yellow, or red window pops up at the trigger time. It
  596.        contains the appointment's message or note text. The window position
  597.        is randomized.
  598.  
  599.     2. Mail is sent, using the "Mailer" command string. The string "%s"
  600.        in the mailer command is replaced with an appropriate subject string.
  601.        The appointment's message or note text is used as the body of the mail.
  602.  
  603.     3. A program is executed. Playaiff or something else that makes
  604.        noises is a good choice. This is independent of the appointment's
  605.        script, which is always executed (at the alarm time only, not at
  606.        warning time).
  607.  
  608.     The daemon's PATH environment variable is used to locate the mailer
  609.     and the programs. Defaults are supplied if there is no PATH. In all
  610.     cases, the umask is set to 077.
  611. %% opt_early
  612.     EARLY WARNING
  613.  
  614.     This specification is used for early-warning triggers.
  615. %% opt_early_w
  616.     GREEN WINDOW
  617.  
  618.     The daemon pops up a green window when the early-warning time is
  619.     reached. The window contains the appointment's message or note text.
  620. %% opt_early_m
  621.     EARLY WARNING MAIL
  622.  
  623.     Mail is sent when the early-warning time is reached. The Mailer
  624.     button at the bottom specifies the program to use; "%s" is replaced
  625.     with an appropriate subject string.
  626. %% opt_early_x
  627.     EARLY WARNING PROGRAM
  628.  
  629.     The program specified in the text area on the left is executed when
  630.     the early-warning time is reached.
  631. %% opt_late
  632.     LATE WARNING
  633.  
  634.     This specification is used for late-warning triggers.
  635. %% opt_late_w
  636.     YELLOW WINDOW
  637.  
  638.     The daemon pops up a yellow window when the late-warning time is
  639.     reached. The window contains the appointment's message or note text.
  640. %% opt_late_m
  641.     LATE WARNING MAIL
  642.  
  643.     Mail is sent when the late-warning time is reached. The Mailer
  644.     button at the bottom specifies the program to use; "%s" is replaced
  645.     with an appropriate subject string.
  646. %% opt_late_x
  647.     LATE WARNING PROGRAM
  648.  
  649.     The program specified in the text area on the left is executed when
  650.     the late-warning time is reached.
  651. %% opt_alarm
  652.     ALARM
  653.  
  654.     This specification is used for main alarm triggers.
  655. %% opt_alarm_w
  656.     RED WINDOW
  657.  
  658.     The daemon pops up a red window when the main alarm time is reached.
  659.     The window contains the appointment's message or note text.
  660. %% opt_alarm_m
  661.     ALARM MAIL
  662.  
  663.     Mail is sent when the main alarm time is reached. The Mailer button
  664.     at the bottom specifies the program to use; "%s" is replaced with
  665.     an appropriate subject string.
  666. %% opt_alarm_x
  667.     ALARM PROGRAM
  668.  
  669.     The program specified in the text area on the left is executed when
  670.     the main alarm time is reached.
  671. %% opt_mailer
  672.     MAILER
  673.  
  674.     Specifies the program to use to send mail. Mail is sent when one of
  675.     the "Send mail" buttons above is enabled. In the mailer string, "%s"
  676.     is replaced with an appropriate subject string, containing the
  677.     reason, date, and truncated note or message text.
  678.  
  679.     The default is "Mail -s %s <username>".
  680. %% opt_timeout
  681.     TIMEOUT
  682.  
  683.     In this field, a time can be entered. If this field is blank, alarms
  684.     popped up by the pland daemon when the appointment's warning or alarm
  685.     time is reached will stay on the screen forever, until the Dismiss
  686.     button in the popup is pressed.
  687.  
  688.     A window lifetime can be entered as hours:minutes. A window popped
  689.     up after this change will disappear by itself after the specified time.
  690. %% opt_done
  691.     DONE
  692.  
  693.     Remove the Alarm Options popup.
  694. #
  695. # week view config popup
  696. #
  697. %% range
  698.     WEEK VIEW RANGE
  699.  
  700.     The week view shows bars that represent appointments. The horizontal
  701.     position and length of the bar represents its trigger time and length.
  702.     The chart is clipped at the left and right edges at 8:00 and 20:00 by
  703.     default. These defaults can be changed with this popup.
  704.  
  705.     Press on the text buttons to get a cursor, and enter the hour. Only
  706.     the hour can be entered, minutes are ignored. To set the end time to
  707.     midnight, both 0 and 24 are accepted.
  708.  
  709.     If advance-warning times are enabled, show appointments' warning
  710.     periods as gray extensions at the left end of appointment bars.
  711.  
  712.     If user names are enabled, the name of a user whose appointments are
  713.     displayed in the week menu is displayed in or next to the users's bars
  714.     in the week view. For adding other users' appointments in the week
  715.     menu, see the help for the User button in the week view.
  716. %% range_done
  717.     DONE
  718.  
  719.     Remove the week view range popup, and redraw the week view to
  720.     comply with the new range.
  721. %% range_min
  722.     BEGIN HOUR
  723.  
  724.     This is the hour the week view chart begins with, that is shown at
  725.     the left edge. Appointments that begin earlier will be clipped.
  726.     Press on the inset button and enter a number in the range 0..23 to
  727.     change the begin time. The week view will be updated when the Done
  728.     button is pressed.
  729. %% range_max
  730.     END HOUR
  731.  
  732.     This is the hour the week view chart ends with, that is shown at
  733.     the right edge. Appointments that end later will be clipped.
  734.     Press on the inset button and enter a number in the range 1..24 to
  735.     change the begin time (0 is accepted as a synonym for 24). The end
  736.     time must be greater than the begin time in the row above. The week
  737.     view will be updated when the Done button is pressed.
  738. %% range_warn
  739.     SHOW WARNINGS
  740.  
  741.     If advance-warning times are enabled, show appointments' warning
  742.     periods as gray extensions at the left end of appointment bars.
  743. %% range_user
  744.     SHOW USERS
  745.  
  746.     If user names are enabled, the name of a user whose appointments are
  747.     displayed in the week menu is displayed in or next to the users's bars
  748.     in the week view. For adding other users' appointments in the week
  749.     menu, see the help for the User button in the week view.
  750. #
  751. # goto popup
  752. #
  753. %% goto
  754.     GOTO DATE
  755.  
  756.     Enter a date to switch all visible calendar views (week, month, year)
  757.     such that they contain today's date. A full date must be entered; the
  758.     month day is relevant for the week view. To switch the views to contain
  759.     today, enter "today", or use the "goto today" choice in the View
  760.     pulldown. To switch n days forward or back, enter "+n" or "-n".
  761.  
  762.     Press Return to switch. The Cancel button removes the popup without
  763.     switching.
  764. #
  765. # keyword search popup
  766. #
  767. %% key
  768.     KEYWORD SEARCH
  769.  
  770.     The keyword search install an appointment list menu that contains all
  771.     the appointments that contain a specified string or regular expression.
  772.     The note, message, and script of each appointment is searched.
  773.  
  774.     The search can use one of three methods:
  775.     1. Search for an exact match.
  776.     2. Ignore case differences.
  777.     3. Search for a regular expression (if supported, the program can be
  778.        compiled without this option).
  779. %% key_literal
  780.     LITERAL SEARCH
  781.  
  782.     Search for an exact match. No magic characters are recognized.
  783. %% key_uncase
  784.     CASE_INSENSITIVE SEARCH
  785.  
  786.     Search for an exact match, but ignore case differences. No magic
  787.     characters are recognized.
  788. %% key_regular
  789.     REGULAR EXPRESSION SEARCH
  790.  
  791.     Search for a regular expression. Magic characters are evaluated.
  792. %% key_string
  793.     SEARCH STRING
  794.  
  795.     The string or regular expression to search for.
  796. %% key_search
  797.     SEARCH
  798.  
  799.     Start the search.
  800. %% key_cancel
  801.     CANCEL
  802.  
  803.     Cancel the search and remove the popup.
  804. #
  805. # appointment list menu
  806. #
  807. %% day
  808.     APPOINTMENT LIST
  809.  
  810.     An appointment list is created by pressing on a day box in the month
  811.     or year calendar menus, or with the Search pulldown in the main window.
  812.     Appointments are shown sorted by time, earliest first, with at least
  813.     one blank row at the bottom. The blank row is used for adding new
  814.     appointments.
  815.  
  816.     The first three wide columns are for entering date, time, and length
  817.     of the appointment numerically. The narrow columns that follow install
  818.     menus that specify additional information; and the wide last column
  819.     contains a note that is displayed in the month and year calendars' day
  820.     boxes.
  821.  
  822.     The small button to the left of each column, if turned off, suspends
  823.     that appointment. It will remain in the database, will be printed
  824.     grayed-out in the month calendar's day boxes, and will not trigger
  825.     any alarms or warnings. The first small button pops up an advance-
  826.     warning menu; it can be switched to a text field for direct entry
  827.     of advance-warning times with the Fast warning toggle in the Config
  828.     pulldown.
  829.  
  830.     For help on the individual columns, use Help "On Context". The buttons
  831.     control automatic repetition, advance warnings, messages, and shell
  832.     scripts. Also see the help message for Confirm. The format of the
  833.     table can be changed with the Fast Warning Entry Mode in the Config
  834.     pulldown; if enabled, the small advance-warning popup call button is
  835.     replaced with a wide numeric warning column.
  836.  
  837.     Note that there are two special options: a single '-' in the time
  838.     column will remove the time in the month view's day box, and a note
  839.     that begins with a '-' or '=' will not appear in some views at all.
  840.     Use Help On Context on the respective columns for details.
  841. %% day_enable
  842.     ACTIVATE/SUSPEND BUTTONS
  843.  
  844.     If turned on (green), the appointment is alive and will trigger alarms
  845.     as specified in the Alarm Options menu that can be accessed through
  846.     the Config pulldown. (In SGI desktop mode, a checkmark is shown instead
  847.     of a green box).
  848.  
  849.     If the button is turned off (gray), the appointment is suspended. It
  850.     will remain in the database, will be printed grayed-out in the month
  851.     calendar's day boxes and in the week view chart, and will not trigger
  852.     alarms. The small black dots in the year calendar day boxes are not
  853.     affected.
  854. %% day_date
  855.     DATE COLUMN
  856.  
  857.     The trigger date. Dates can be entered as weekday Mon..Sun (or German
  858.     Mo..So), as numeric date (mm/dd/yy or dd.mm.yy, depending on the
  859.     Config pulldown), as commands such as "tomorrow" or "heute".
  860.     Alternatively, +3 means today plus 3 days.
  861.  
  862.     Normally, appointments are added by starting with the time and using
  863.     the date defaults supplied automatically.
  864. %% day_time
  865.     TIME COLUMN
  866.  
  867.     The trigger time, as hh:mm or hh:mm{a,p}, depending on the settings
  868.     in the Config pulldown. The time can also be entered as hhmm.
  869.  
  870.     If a single minus "-" is entered, the alarm and its warnings will not
  871.     trigger, and no time will be shown in the month calendar's day boxes.
  872.     This is useful for birthdays and general reminders. In conjunction with
  873.     repetition, it can also be used for vacations or other extended events.
  874.     Holidays should be defined with the Holiday pulldown, the syntax there
  875.     is much more flexible.
  876.  
  877.     Appointments with no time will always appear first in the day boxes,
  878.     and will not be affected by the "Don't show today's past" option. In
  879.     week views, they appear as triangles pointing right at the left edge.
  880. %% day_length
  881.     LENGTH COLUMN
  882.  
  883.     The length of the appointment. This information is used for the week
  884.     view, it controls the length of the bar that represents the appointment.
  885.     There is no collision checking, appointments can freely overlap with
  886.     no warning.
  887.  
  888.     If the length begins with a minus '-', the remaining string is
  889.     interpreted as an end time. "-12:30" means until 12:30.
  890.  
  891.     The Length column is disabled if there is no time (i.e., if the time
  892.     column displays "-").
  893. %% day_recycle
  894.     RECYCLE COLUMN
  895.  
  896.     This button controls automatic repetition of an appointment on certain
  897.     days. If the recycle symbol is shown in the button, the appointment
  898.     repeats. Repeating appointments are shown in every day box in all views
  899.     they have triggered on or will trigger on, between the entered date and
  900.     the Until date if entered. If the Auto Delete Past Entries in the
  901.     Config pulldown is enabled, past trigger dates are not shown.
  902.  
  903.     Pressing the recycle button pops up the recycle menu, which allows
  904.     entry of the repetition information (on certain weekdays, on certain
  905.     month days, every n days, until a specified expiry date).
  906. %% day_advance
  907.     ADVANCE COLUMN
  908.  
  909.     This button controls advance warnings. An appointment can have up to
  910.     three trigger times: the "alarm time", which triggers at the time
  911.     specified in the time column, an early warning, and a late warning.
  912.     By default, only the alarm time is enabled; if it is turned off or
  913.     one or both warnings are enabled, a symbol appears in the button.
  914.  
  915.     Pressing the button pops up a menu that allows turning the alarm
  916.     and the warnings on or off, and specifying how long in advance the
  917.     warnings will trigger. If "Fast warning entry mode" in the config
  918.     pulldown is on, warnings can be entered numerically, instead of using
  919.     the popup. The syntax is
  920.  
  921.           <early>[,<late>[,-]]
  922.  
  923.     Early and late times are in minutes. All parts are separated by commas
  924.     or blanks. The optional "-" at the end turns off the main alarm time,
  925.     so only warnings will trigger, if specified. Examples are "5" (one
  926.     warning 5 minutes in advance, and the main alarm), "10,45" (two
  927.     warnings and the main alarm), "15,-" (one warning, no alarm). Entering
  928.     a '=' uses the default warning times, which are updated with every
  929.     numeric entry.
  930.  
  931.     The actions taken when the alarm and the warnings trigger is
  932.     controlled by the "Alarm Options" menu in the Config pulldown of the
  933.     main month calendar window. Options include color-coded windows,
  934.     mail, and Unix commands.
  935.  
  936.     The Advance Warning column is disabled if there is no time (i.e., if
  937.     the time column displays "-").
  938. %% day_message
  939.     MESSAGE COLUMN
  940.  
  941.     This button allows a message to be attached to the appointment. Most
  942.     of the time, the last column (note) suffices, but for longer texts
  943.     messages can be used. A symbol is shown in the button if a message
  944.     exists; pressing the button pops up a text entry menu.
  945.  
  946.     When the appointment triggers, the text is shown in the window that
  947.     pops up (assuming that window hasn't been disabled with the Config
  948.     pulldown's Alarm Options menu).
  949. %% day_script
  950.     SCRIPT COLUMN
  951.  
  952.     This button allows a shell script to be attached to the appointment.
  953.     A symbol is shown in the button if a script exists; pressing the
  954.     button pops up a text entry menu. When the alarm time triggers, the
  955.     script will be executed by the daemon. Unlike attached messages,
  956.     scripts will be ignored by advance-warning triggers. Pop up the help
  957.     menu in the Script popup to get more information on how scripts are
  958.     executed.
  959.  
  960.     The Script column is disabled if there is no time (i.e., if the time
  961.     column displays "-").
  962. %% day_meeting
  963.     MEETING COLUMN
  964.  
  965.     This feature is currently unimplemented.
  966. %% day_private
  967.     LOCK COLUMN
  968.  
  969.     If pressed, the appointment is considered private. It is stored in
  970.     a separate file ".dayplan.priv" that has no read or write permissions
  971.     for other users. Specifically, locked appointments do not appear in
  972.     other users' week views even if they named you in their user lists.
  973.  
  974.     All appointments that are not locked will appear in other users' week
  975.     views if they ask for them. Other users that look up your appointments
  976.     will not even be informed that you have locked appointments, although
  977.     they may be able to determine that your .dayplan.priv file is not
  978.     empty.
  979.  
  980.     plan forces rw-rw-rw- permissions for the public ~/.dayplan file, and
  981.     rw------- permissions for the private ~/.dayplan.priv file. Make sure
  982.     that your home directory has no write permissions for others, plan
  983.     does not attempt to chmod it.
  984. %% day_note
  985.     NOTE COLUMN
  986.  
  987.     This column allows entry of a short text that will appear in the
  988.     month calendar's day box, and in the window that pops up at trigger
  989.     times. Notes are convenient for short texts not exceeding 30
  990.     characters or so (although there is no hard limit); for longer
  991.     texts, use the message button.
  992.  
  993.     If there is no note, then the first line of the message text is
  994.     displayed in the note column and in the day box. If there is no
  995.     message either, the first script line is displayed (the second if
  996.     the first begins with #!).
  997.  
  998.     If the note string begins with a '-' (minus), the entry will not be
  999.     shown in any view. It will still appear in schedule lists. This is
  1000.     useful for scripts to be run periodically in the background.
  1001.  
  1002.     If the note string begins with a '=', the entry will only be shown in
  1003.     the week view, but not in the month and year views. This is useful for
  1004.     mackanic@nersc.gov.
  1005. %% day_confirm
  1006.     CONFIRM
  1007.  
  1008.     While an appointment is entered, it is not stored in the database.
  1009.     It is stored only when the Return key is pressed on the last column,
  1010.     or when the Confirm button is pressed.  This prevents the new
  1011.     appointment from disappearing because the list is resorted, or
  1012.     because it does not even belong in this list.
  1013.  
  1014.     Confirm is rarely used. To enter an appointment, simply press and
  1015.     enter the time, length, and note. Pressing Return in the Note column
  1016.     has the same effect as Confirm. The Done button, and pressing anywhere
  1017.     in another row, implies Confirm.
  1018. %% day_undo
  1019.     UNDO
  1020.  
  1021.     While entering an appointment, but before Confirming (or pressing
  1022.     Return on the Note column or editing another appointment, which also
  1023.     confirms), all changes can be discarded by pressing Undo. This prevents
  1024.     the changes from being written to the database.
  1025. %% day_dup
  1026.     DUPLICATE
  1027.  
  1028.     To duplicate an appointment, press on any text column (date, time,
  1029.     length, or note), then press the dup button. The appointment, and
  1030.     all the information attached to it (such as message and script)
  1031.     are duplicated. The duplicated appointment can then be changed.
  1032. %% day_del
  1033.     DELETE
  1034.  
  1035.     To delete an appointment, press on any text column (date, time,
  1036.     length, or note), then press Delete. It is not possible to undo
  1037.     deletions.
  1038. %% day_quit
  1039.     DONE
  1040.  
  1041.     Destroy the appointment list menu. This has the side effect of
  1042.     confirming the currently entered appointment, if any; use Delete
  1043.     or Undo first to cancel the changes.
  1044. %% day_pin
  1045.     PIN
  1046.  
  1047.     Normally, an appointment list menu is re-used whenever another day
  1048.     box is pressed or the Search pulldown is used. If the Pin flag is
  1049.     turned on (is red), the menu will remain unchanged and a new
  1050.     appointment list is created when one is needed.
  1051.  
  1052.     Whenever the program needs an appointment list popup, it scans
  1053.     through all the existing menus in the order they were created, and
  1054.     kidnaps the first that has either been popped down (with its Done
  1055.     button), or that is not pinned.
  1056. #
  1057. # week view menu
  1058. #
  1059. %% week
  1060.     WEEK VIEW
  1061.  
  1062.     The week view shows appointments on a hour vs. day chart. Appointments
  1063.     are represented by horizontal bars, labelled by their note string
  1064.     which is centered in the bar if it fits, or shown to the right of the
  1065.     bar if not. The bar itself can optionally show the advance-warning
  1066.     periods as gray shadows; this is controlled by the Show Warnings item
  1067.     in the Config pulldown. The width of the chart (the begin and end hour)
  1068.     can be specified by choosing Week View Range from the Config pulldown.
  1069.     Suspended appointments are shown in the same gray color that is used
  1070.     for advance warnings. If the Show Users toggle in the Configure week
  1071.     view popup in the Config pulldown is on, the user name is also shown
  1072.     in parentheses.
  1073.  
  1074.     A bar is color-coded: blue bars are the user's own appointments. Other
  1075.     users' appointments can also be shown with different colors; users
  1076.     whose appointments should appear can be specified by pressing the User
  1077.     button. Other users' private appointments are not shown; appointments
  1078.     are private if the user pressed the Lock button in the appointment
  1079.     entry/edit menu in the entry's row. (To get the entry/edit menu, press
  1080.     in any day box in the month or year menus, or press the Edit button in
  1081.     the week menu. The lock button's icon is a little padlock.)
  1082.  
  1083.     Pressing on any bar gives the appointment time, the user in parentheses
  1084.     unless it is one of the user's own appointments, and the note text.
  1085.     Double-clicking a bar pops up an appointment edit menu that contains
  1086.     one entry (but can also be used to input new appointments).
  1087. %% week_prev
  1088.     PREVIOUS WEEK
  1089.  
  1090.     Skip seven days back, and re-display. To go back to the current week,
  1091.     choose Week from the View pulldown. It is not possible to skip to
  1092.     the previous year.
  1093. %% week_next
  1094.     NEXT WEEK
  1095.  
  1096.     Skip seven days forward, and re-display. To go back to the current
  1097.     week, choose Week from the View pulldown. It is not possible to skip
  1098.     to the next year.
  1099. %% week_sync
  1100.     SYNC DISPLAY
  1101.  
  1102.     Once the week view is drawn, plan does not check whether other users
  1103.     have changed their appointments since. Pressing Sync re-reads all
  1104.     users' public appointment files, and redraws the week view. plan uses
  1105.     the file modification date to avoid re-reading database files that
  1106.     have not changed; this assumes a moderately consistent network clock.
  1107. %% week_edit
  1108.     EDIT APPOINTMENTS
  1109.  
  1110.     Install a standard appointment entry/edit popup that contains all
  1111.     entries that belong to the user visible in the week chart. For editing
  1112.     individual appointments, double-click that appointment's bar.
  1113.  
  1114.     It is not possible to edit other users' appointments.
  1115. %% week_user
  1116.     USER MENU
  1117.  
  1118.     Choose which other users' appointments are displayed in the week view,
  1119.     and the color they are displayed with. Press User and the Help button
  1120.     in the popup for more information on users.
  1121. %% week_done
  1122.     DONE
  1123.  
  1124.     Remove the week view menu.
  1125. #
  1126. # user popup
  1127. #
  1128. %% user
  1129.     USER MENU
  1130.  
  1131.     The user menu allows selection of users that should appear in the week
  1132.     view. Any number of users can be entered. To distinguish other users'
  1133.     appointments, they can be color-coded. Eight colors are available;
  1134.     several users can share the same color.
  1135.  
  1136.     To specify another user, press on the top empty button in the User
  1137.     column, and enter a name. Plan attempts to locate the user's home
  1138.     directory. If the user or the user's home directory is not known, a
  1139.     warning is printed. The home directory is the directory where the
  1140.     user's .dayplan file resides. Plan does not attempt to read the
  1141.     private appointments in the .dayplan.priv files. It is assumed that
  1142.     this directory is readable; on a network, it must be at least NFS-
  1143.     mounted. Plan can not rcp or ftp .dayplan files.
  1144.  
  1145.     The small button on the left enables or disables users; disabled users
  1146.     do not appear in the week view. The color buttons cycle through the
  1147.     eight available colors every time the color button is pressed.
  1148.  
  1149.     Entries can be deleted by pressing on the row to be deleted, and then
  1150.     pressing the Delete button. The Sort button sorts first by color and
  1151.     then by user name.
  1152.  
  1153.     plan does not check if a user whose appointments are displayed has
  1154.     changed his appointments since the week view was drawn. Checking files
  1155.     periodically would keep automounted directories warm and would slow
  1156.     down things. Press the Sync button to update the week view.
  1157. %% user_delete
  1158.     DELETE USER
  1159.  
  1160.     To delete a user, first press on any button in the user's row, then
  1161.     press the Delete button. The row disappears, and all rows below move
  1162.     one row up. If Delete is pressed again, the next user is deleted; it
  1163.     is displayed in the row of the previously deleted user.
  1164. %% user_sort
  1165.     SORT USERS
  1166.  
  1167.     Users are sorted first by color and then alphanumerically by name.
  1168. %% user_done
  1169.     DONE
  1170.  
  1171.     Remove the user menu and redraw the week view.
  1172. %% user_enable
  1173.     ENABLE COLUMN
  1174.  
  1175.     If the button is depressed (the default), the user's public
  1176.     appointments will be shown in the week view (if there are any).
  1177.     Otherwise, the user will be ignored.
  1178. %% user_color
  1179.     GROUP COLUMN
  1180.  
  1181.     This button selects the color that will be used for the user's
  1182.     appointment bars in the week view. There are eight colors available.
  1183.     Multiple users can have the same color; these users will be grouped
  1184.     by the Sort button. To find out which user owns a bar in the week
  1185.     view, press on the bar; the user will be shown in parentheses.
  1186. %% user_name
  1187.     NAME COLUMN
  1188.  
  1189.     The user login names. To add a new user, press an empty name button
  1190.     and enter the user's login name, and press Return. Plan will then
  1191.     look up the user in /etc/passwd or in the Yellow Pages, and determine
  1192.     the home directory. If the user or the home directory cannot be found,
  1193.     a warning is displayed.
  1194.  
  1195.     The login name must be entered exactly, which usually means one to
  1196.     eight lower-case letters. Do not enter the gecos (real) name.
  1197. %% user_home
  1198.     HOME COLUMN
  1199.  
  1200.     To locate the user's appointment file (.dayplan), the home directory
  1201.     must be entered. This is normally done automatically when the user
  1202.     name is entered. By pressing on a home directory button, the directory
  1203.     can be changed. A complete Unix path must be entered, beginning with
  1204.     a slash (/). The host:path and ~user syntax supported by some other
  1205.     programs is not recognized.
  1206. #
  1207. # advance-warning popup
  1208. #
  1209. %% adv
  1210.     ADVANCE WARNINGS
  1211.  
  1212.     Every appointment can have up to three trigger dates:
  1213.  
  1214.     1. the alarm time, which triggers at the time specified in the time
  1215.        column of the appointment list,
  1216.     2. the early warning time, which triggers a number of minutes before
  1217.        the alarm time, as specified in this menu,
  1218.     3. the late warning time, which triggers a number of minutes before
  1219.        the alarm time, as specified in this menu.
  1220.  
  1221.     Unless disabled with the Alarm Options in the Config pulldown, each
  1222.     of the three triggers pops up a color-coded window: green for early
  1223.     warnings, yellow for late warnings, and red for alarms. All three
  1224.     windows will contain the appointment's message text if any, or the
  1225.     note text if not.
  1226. %% adv_done
  1227.     DONE
  1228.  
  1229.     Remove the advance-warning popup.
  1230. %% adv_early
  1231.     EARLY WARNING
  1232.  
  1233.     Pressing the enable button sets the early-warning time to the default
  1234.     (45 minutes). The time can be changed by pressing on the text field
  1235.     and entering a time in hh:mm format.
  1236.  
  1237.     Early warnings are turned off by default when the appointment is
  1238.     created.
  1239. %% adv_late
  1240.     LATE WARNING
  1241.  
  1242.     Pressing the enable button sets the late-warning time to the default
  1243.     (5 minutes). The time can be changed by pressing on the text field
  1244.     and entering a time in hh:mm format.
  1245.  
  1246.     Early warnings are turned off by default when the appointment is
  1247.     created.
  1248. %% adv_noalarm
  1249.     NORMAL ALARM
  1250.  
  1251.     This button is turned on by default. If turned off, there will be no
  1252.     main alarm trigger. If there is a script attached to the appointment,
  1253.     it will never get executed in this case.
  1254.  
  1255.     Turning off the normal alarm trigger does not affect the advance
  1256.     warning times.
  1257. #
  1258. # recycle popup
  1259. #
  1260. %% cyc
  1261.     RECYCLE MENU
  1262.  
  1263.     Repeating appointments trigger more than once. The time does not
  1264.     change, the appointment triggers at the same time on every such date.
  1265.     It can not trigger on any day more than once.
  1266.  
  1267.     The appointment will repeat on any of the dates that satisfy at least
  1268.     one of the three conditions: on the specified weekdays, on the
  1269.     specified days of the month, and every n days after the initial date.
  1270.  
  1271.     The appointment will expire on the day specified with "Stop repeating
  1272.     on" if the mode button is green. The appointment may trigger for the
  1273.     last time on the date specified, if the other conditions are satisfied.
  1274. %% cyc_done
  1275.     DONE
  1276.  
  1277.     Remove the recycle popup.
  1278. %% cyc_last
  1279.     LAST DAY
  1280.  
  1281.     The appointment will trigger on this date for the last time (if the
  1282.     other conditions are satisfied). It will then expire, and will be
  1283.     deleted if the Auto-delete-past-entries in the Config menu has been
  1284.     turned on.
  1285.  
  1286.     The notation "+n" means that the appointment will repeat on the next
  1287.     n days; "+1" means today and tomorrow.
  1288.  
  1289.     The last-day is in effect only if the green mode button on the left
  1290.     is turned on (is green).
  1291. %% cyc_every
  1292.     EVERY N DAYS
  1293.  
  1294.     If the button on the left is on (green), the appointment will
  1295.     trigger every n days after the initial date. For example, if
  1296.     a 2 is entered, the appointment will repeat every other day.
  1297. %% cyc_weekdays
  1298.     WEEKDAYS
  1299.  
  1300.     The appointment will trigger on all the weekday specified. Weekdays
  1301.     can be restricted to certain weeks of the month.
  1302. %% cyc_days
  1303.     MONTH DAYS
  1304.  
  1305.     The appointment will trigger at every day of the month specified.
  1306. %% cyc_yearly
  1307.     YEARLY
  1308.  
  1309.     If turned on, the appointment will trigger on the same day every year.
  1310. %% msg
  1311.     MESSAGES AND SCRIPTS
  1312.  
  1313.     This menu is used for appointment messages and scripts. A message
  1314.     is a text that is printed in a window when the alarm or one of its
  1315.     warnings triggers, unless disabled.
  1316.  
  1317.     Scripts are executed by the daemon when the alarm time (not the
  1318.     warnings) trigger. The daemon forks and execs the script directly.
  1319.     The environment is passed on unchanged. The umask is set to 077.
  1320.     If the script is longer than the Unix pipe size (normally 10240
  1321.     bytes), the daemon forks off a separate process to feed the script,
  1322.     to avoid blocking the daemon.
  1323. %% msg_done
  1324.     DONE
  1325.  
  1326.     Remove the message popup.
  1327. %% msg_delete
  1328.     DELETE
  1329.  
  1330.     Deletes the message or script, and removes the popup. The message
  1331.     or script symbol in the appointment list row disappears.
  1332. %% msg_clear
  1333.     CLEAR
  1334.  
  1335.     The text in the popup is cleared.
  1336. %% msg_text
  1337.     TEXT WINDOW
  1338.  
  1339.     Messages and scripts are entered here. To clear the text and start
  1340.     over, press the Clear button.
  1341. %% holiday_done
  1342.     DONE
  1343.  
  1344.     Write the definitions back to the ~/.holiday file and re-parse it.
  1345. %% holiday_cancel
  1346.     CANCEL
  1347.  
  1348.     Discard all changes to the holiday list made since the holiday menu
  1349.     was popped up, go back to the previous holiday list, and remove the
  1350.     holiday popup. Use this button if you messed up.
  1351. %% holiday
  1352.     HOLIDAYS
  1353.  
  1354.     Holidays are annotations of certain day boxes in the month and year
  1355.     calendars. A holiday can define a text that can appear under the day
  1356.     number (default) or next to the day number (small, because there is
  1357.     less space for text there). Both the color of holiday name and the day
  1358.     number can be set. For each day, only one holiday plus one "small"
  1359.     holiday can be defined. Earlier definitions override later ones.
  1360.  
  1361.     You don't need to define a holiday if you want an entry with no time
  1362.     field; just define a normal appointment with "-" in the time column.
  1363.     There is no limit on the number of those.
  1364.  
  1365.     In addition to the user's holiday list, there may be a system-wide
  1366.     holiday file in the LIB directory (LIB is from the Makefile, usually
  1367.     /usr/local/bin). System-wide holidays cannot be edited from within plan.
  1368.     User holidays override system-wide holidays on the same day.
  1369.  
  1370.     The holiday format is: (optional parts are in [square brackets],
  1371.     nonterminals are in CAPS, alternatives are separated by |, everything
  1372.     must be entered in lower case)
  1373.  
  1374.        [small]  [STRINGCOLOR]  "name"  [DAYNUMBERCOLOR]
  1375.                                               on  [DATE]  [OFFSET]  [LENGTH]
  1376.  
  1377.     (Although shown here on two lines, every holiday definition must be
  1378.     entered on a single line.)
  1379.  
  1380.     Available colors are black, red, green, yellow, blue, magenta, cyan,
  1381.     white, and weekend (the same color used for Saturday and Sunday).
  1382.     The string color is used for the name when printed into a day box; the
  1383.     day number color is used to alter the color of the day number (1..31)
  1384.     of the day box the holiday falls on. This can be used to promote a day
  1385.     to an official holiday by using the "weekend" color. If there is a day
  1386.     number color specified, but no string color, the string color is set to
  1387.     the day number color. The name can be empty, but the quotes must be
  1388.     present. There are several formats for DATE:
  1389.  
  1390.        DAY . MONTH [ . YEAR]
  1391.        MONTH / DAY [ / YEAR]
  1392.        DAY   MONTHNAME   [YEAR]
  1393.        MONTHNAME   DAY   [YEAR]
  1394.        [every   NTH]   WEEKDAY   [in   MONTH]
  1395.        WEEKDAY   before   LIT_DATE
  1396.        WEEKDAY   after   LIT_DATE
  1397.        easter
  1398.  
  1399.     DAY, MONTH, YEAR, NTH, and NUMBER can be C expressions; in
  1400.     dates, they must be parenthesized.  The special values any and last are
  1401.     also available. MONTHNAME is january, february, etc;  WEEKDAY
  1402.     is monday, tuesday, etc.  NTH can alternatively be first, second, ...,
  1403.     fifth, last. The words on, every, day, and days are syntactic sugar
  1404.     without meaning. Easter is predefined because its definition is rather
  1405.     complicated. LIT_DATE stands for one of the first two alternatives,
  1406.     DAY.MONTH[.YEAR] or MONTH/DAY[/YEAR].
  1407.  
  1408.     The OFFSET after DATE is "[plus | minus   NUMBER   days", and
  1409.     the LENGTH after that is "length   NUMBER   days". Offsets are
  1410.     useful for holidays relative to Easter, and lengths are useful for trade
  1411.     shows and vacations. Always define vacations last in the list so regular
  1412.     holidays override them.
  1413.  
  1414.     If you have /lib/cpp (see CPP_PATH in the Makefile), you can use #include
  1415.     statements to include additional external holiday files. The external files
  1416.     cannot be edited interactively with plan; use an editor.
  1417.  
  1418.     Examples:
  1419.        small  "Easter"  weekend  on  easter
  1420.        small  "Surprise"  blue  on  last  sunday  in  april  plus  1  day
  1421.        small  green  "xmas"  weekend  on  12/25
  1422.        ""  weekend  on  july  4
  1423.        magenta  "Payday"  on  any/last
  1424.        green  "Vacation"  on  20.6.93  length  28  days
  1425.        #include "/usr/local/lib/vacations"
  1426.  
  1427.     Restrictions: plus, minus, and length may not cross over to the next or
  1428.     previous year, you cannot define New Year's as "last/last plus 1 day".
  1429. %% print
  1430.     PRINT
  1431.  
  1432.     The print mode determines whether a year or a month calendar is
  1433.     printed. The spooler string is a shell command line that accepts the
  1434.     PostScript calendar and prints it on a printer. Typical values are
  1435.     "lp" (on SGI and other System V derived systems) or "lpr" (on BSD
  1436.     derived systems). Redirection is also possible; use "cat > /tmp/file"
  1437.     to redirect the PostScript output to a file.
  1438.  
  1439.     Press Print to start printing, or Cancel to remove the popup without
  1440.     printing.
  1441. %% print_print
  1442.     PRINT
  1443.  
  1444.     Print the calendar specified by the mode select buttons, using the
  1445.     shell command string specified in the spooler text area.
  1446. %% print_cancel
  1447.     CANCEL
  1448.  
  1449.     Remove the print popup without printing anything. The spooler string,
  1450.     if changed, remains changed.
  1451.